[C] Decimal -> Binario
Publicado por Enzo de Brito Ferber 05/04/2006
[ Hits: 7.904 ]
Homepage: http://www.maximasonorizacao.com.br
Programa que converte numeros decimais em binario usando operadores bit-bit padrões do C.
Muito bom para se entender operadores bit-bit e conversao de numeros...
/*
* Programa: Binário
* Arquivo: binario.c
* Autor: Enzo Ferber 'Slackware_10'
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define FLUSH __fpurge(stdin); //fflush(stdin) em sistemas windows
int converter(int num){
printf("%d", (num & 0x80) / 0x80); //bit 7
printf("%d", (num & 0x40) / 0x40); //bit 6
printf("%d", (num & 0x20) / 0x20); //bit 5
printf("%d", (num & 0x10) / 0x10); //bit 4
printf("%d", (num & 0x08) / 0x08); //bit 3
printf("%d", (num & 0x04) / 0x04); //bit 2
printf("%d", (num & 0x02) / 0x02); //bit 1
printf("%d", (num & 0x01) / 0x01); //bit 0
/* Quando ha uma coversao decimal->binario, o bit 7 vem em
* primeiro lugar, e o 0 em ultimo.
* Exemplo: Converter 65 (A) em binario
* 65 | 2 (resto 1) bit 0
* 32 | 2 (resto 0) bit 1
* 16 | 2 (resto 0) bit 2
* ...
* Depois se inverte os bits:
* B = bit
* B7 B6 B5 B4 B3 B2 B1 B0
*/
}
int main(void){
int num;
while(1){
system("clear"); //cls em sistemas windows
printf("Numero a converter: ");
FLUSH
scanf("%d", &num);
if(num == -1) break; //garante um loop nao infinito
converter(num);
FLUSH
getchar();
}
return 0;
}
Conhecendo atributos do Ncurses
Retirar ocorrências de uma substring dentro de uma string
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
É normal não gostar de KDE? (13)
VOL já não é mais como antes? (8)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









